실험 8: 그래프를 이용한 소셜 네트워크

목표 🎯

  • 모델: 간단한 소셜 네트워크입니다.
    • 사용자는 그래프의 노드로 표현됩니다.
    • 친구 관계는 무방향 간선입니다.
  • 과제:네트워크를 구성하고 질의하기 위해 일련의 명령을 처리하세요.

표현 방식 💾

우리는 인접 리스트를 사용하여 그래프를 저장할 것입니다.

이것은 리스트들의 배열입니다. 인덱스 `i`에 위치한 리스트에는 사용자 `i`의 모든 친구가 저장됩니다.

// 친구 관계: (0,1), (0,2), (1,2)
adj = [
0:[1, 2],
1:[0, 2],
2:[0, 1],
3:[],
]

연산 ⚙️

다음 네 가지 명령어를 구현하게 됩니다:

  • add u v

    친구 관계를 추가합니다.

  • degree u

    사용자 u의 친구 수를 세어줍니다.

  • isfriend u v

    u와 v가 친구인지 확인합니다.

  • count_greater x

    x명 이상의 친구를 가진 사용자의 수를 세어줍니다.